The present invention relates to systems and methods for coding data, and more particularly to context-based coding systems and methods.
Context based coding technology is based on using a statistical model with finite state, or context, to capture the statistical dependency of the samples generated from a source. In a context based coding system, the probability assignment in coding a given sample depends on its context which is constructed by using information that is already known to both the encoder and the decoder, for example, the historical samples that have already been coded and transmitted. The detailed design of the context is varied in different applications. For example, in text compression, the context of coding a letter can be formed by its preceding letters. In image coding, the probability assignment of coding a given pixel is determined by the value of its adjacent (coded) pixels.
FIG. 1 illustrates a conventional context based coding system known in the art. In the conventional system 100, each sample output from the data source 110 is coded by using a statistical coder 120, usually an arithmetic code, with the probability assignment that are determined by a context modeling module 130. Conventionally the context modeling module used one of two approaches for determining the probability assignment for a given context. The first approach used a fixed frequency table in which each context used a fixed, pre-trained frequency table that recorded the probability assignment for the possible samples, which is then invoked when the context is hit. A second approach used an adaptive frequency table in which the frequency table in each context was adjusted during the coding process according to the samples coded with that context.
The bit-plane coding technology was previously used in image coding, e.g., A. Said and W. A. Pearlman in “A New, Fast, and Efficient Image Codec Based on Set Partitioning in Hierarchical Trees,” IEEE Transactions on Circuits and Systems For Video Technology, vol. 6, no. 3, pp. 243-250, June 1996. Bit-plane coding has been widely used in multimedia coding application to construct a coding system that achieves fine granular bit-rate scalability. In bit-plane coding, the digital samples to be coded are first grouped into a series of vectors. Each vector is then coded using a sequential bit-plane scanning and coding method where the data elements are coded, sequentially, from the most significant bit (MSB) to the least significant bit (LSB). The context based coding technology can be applied to bit-plane coding in such a way that each bit-plane symbols are coded with probability assignments that are given by a context modeling module according to its context. This leads to the context based bit-plane coding technology (CB-BPC). The CB-BPC technology has been widely used for multimedia coding applications, such as JPEG 2000 [See D. Taubman, “High Performance Scalable Image Compression with EBCOT,” IEEE Tran. Image Processing, vol. 9, no. 7, pp. 1158-1170, July 2000], and MPEG Audio BSAC [See S. H. Park, Y. B. Kim and Y. S. Seo, “Multi-layer bit-sliced bit-rate scalable audio coder,” 103rd AES convention preprint 4520, 1997].
What is needed is an improved context-based coding process which provides a better model for the data we are interested in to achieve better compression performance, and which preferably incorporates the scalability of bit-plane coding.